package com.cql.service.business;

import com.baomidou.mybatisplus.extension.service.IService;
import com.cql.common.core.DO.MomentDO;
import com.cql.common.core.DO.UserDO;
import com.cql.common.core.DO.UserRelationDO;
import com.cql.common.core.DTO.MomentDTO;
import com.cql.common.core.DTO.MomentInfoDTO;
import com.cql.common.core.security.LoginUser;

import java.util.List;

/**
 * 朋友圈表
 *
 * @author cql
 * @email 979243431@qq.com
 * @date 2021-11-15 10:15:10
 */
public interface MomentService extends IService<MomentDO> {


    /**
     * 更新或新增文章
     *
     * @param moment
     * @return
     */
    MomentDTO insertOrUpdateMoment(MomentDTO moment);

    /**
     * 删除用户文章
     *
     * @param userId
     * @param momentId
     */
    void deleteMomentById(Long userId, Long momentId);

    /**
     * 根据id获取探店信息
     *
     * @param momentId
     * @param userId
     * @return
     */
    MomentDTO getMomentUpdateById(Long momentId, Long userId);

    /**
     * 获取用户的探店列表
     * 数据权限
     *
     * @param userRelation
     * @param loginUser
     * @param user
     * @return
     */
    List<MomentInfoDTO> listMoment(UserRelationDO userRelation, LoginUser loginUser, UserDO user);


    /**
     * 获取文章详细信息
     *
     * @param userId
     * @param momentId
     * @return
     */
    MomentInfoDTO getMomentDetailInfo(Long userId, Long momentId);

    /**
     * 获取文章数据[使用很少]
     *
     * @param momentId
     * @return
     */
    MomentDO getMomentById(Long momentId);
}

